package cn.aws360.boot.auth.api.exception;

import cn.aws360.boot.base.api.exception.enums.AbstractExceptionEnum;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

import static cn.aws360.boot.auth.api.constant.AuthConstant.MODULE_AUTH_CODE;
import static cn.aws360.boot.auth.api.constant.AuthConstant.MODULE_AUTH_NAME;

/**
 * @author junnan
 */
@Getter
@RequiredArgsConstructor
public enum AuthExceptionEnum implements AbstractExceptionEnum {

    /**
     * 验证码
     */
    AUTH_CAPTCHA_BLANK(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "11", "验证码参数为空!"),
    AUTH_CAPTCHA_ERROR(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "12", "验证码输入错误!"),

    /**
     * 权限认证模块
     */
    AUTH_DONT_LOGIN(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "10", "用户未登录!"),
    AUTH_LOGIN_OPTION_ERROR(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "11", "登录方式有误!"),

    AUTH_PWD_USER_OR_PASS_BLANK(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "21", "用户名或密码为空!"),
    AUTH_PWD_USER_OR_PASS_ERROR(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "22", "用户名或密码有误!"),

    AUTH_SMS_MOBILE_CODE_BLANK(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "31", "手机或验证码为空!"),
    AUTH_SMS_MOBILE_CODE_ERROR(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "32", "手机或验证码有误!"),
    AUTH_SMS_MOBILE_USER_ERROR(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "33", "手机对应用户有误!"),

    AUTH_TPS_UUID_OR_USER_BLANK(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "41", "UUID或用户名为空!"),
    AUTH_TPS_UUID_OR_USER_ERROR(MODULE_AUTH_NAME, MODULE_AUTH_CODE + "42", "UUID或用户名有误!"),

    ;

    private final String module;
    private final String errCode;
    private final String userTip;

}